Systems and methods of adaptive thermal control for information handling systems

ABSTRACT

Systems and methods of adaptive thermal control are provided for information handling system platforms that may be implemented to automate and scale fan control settings by making the fan control settings relative to a reported component thermal control parameter value from a component of an information handling system platform, such as a CPU or other heat generating component. In one example, bounds for system use of vendor or component manufacturer-reported thermal control parameter values may be set for system cooling so as to confine use of these values within information handling system platform limits characterized by a manufacturer of an information handling system platform.

FIELD OF THE INVENTION

This invention relates generally to information handling systems and,more particularly, to thermal control for information handling systems.

BACKGROUND

As the value and use of information continues to increase, individualsand businesses seek additional ways to process and store information.One option available to users is information handling systems. Aninformation handling system generally processes, compiles, stores,and/or communicates information or data for business, personal, or otherpurposes thereby allowing users to take advantage of the value of theinformation. Because technology and information handling needs andrequirements vary between different users or applications, informationhandling systems may also vary regarding what information is handled,how the information is handled, how much information is processed,stored, or communicated, and how quickly and efficiently the informationmay be processed, stored, or communicated. The variations in informationhandling systems allow for information handling systems to be general orconfigured for a specific user or specific use such as financialtransaction processing, airline reservations, enterprise data storage,or global communications. In addition, information handling systems mayinclude a variety of hardware and software components that may beconfigured to process, store, and communicate information and mayinclude one or more computer systems, data storage systems, andnetworking systems.

One or more cooling fans are typically employed within the chassis ofinformation handling system platforms, such as servers, to coolcomponents operating within the information handling system chassis.Such cooling fans may be uncontrolled, i.e., running at full powerwhenever the information handling system is a powered on state. However,cooling fans consume power, create noise, and create airflow, each ofwhich becomes of greater concern in a data center where a plurality ofinformation handling system platforms may be operating, e.g., asservers. Cooling fans may also be controlled based on ambienttemperature within an information handling system chassis.

Thermal tables have been provided in system memory that specify fanspeed RPM values for each respective cooling fan of an informationhandling system platform at a given temperature (or alternatively at agiven range of sensed temperature) within the chassis enclosure of aninformation handling system platform. The specified fan speed (e.g.,RPM) values and baseline temperature response of such a thermal tableare pre-defined based on thermal engineering and default thermalloadings for different system components, and are selected to helpensure sufficient cooling of the components of a given default systemconfiguration that includes a specific default number and type/s ofsystem components. As the sensed operating temperature within the systemchassis increases or decreases, the fan speed of each of the givensystem cooling fans is automatically increased or decreased according toa pre-defined linear (X-Y) relationship of the thermal table thatspecifies increasing fan speed with increasing temperature.

Thermal control techniques have been developed for information handlingsystem platforms in an attempt to reduce power consumption, airflow andacoustic noise generated by cooling fans. Such techniques includeproportional-integral-derivative (PID) control loop feedback. Closedloop thermal control techniques have utilized temperature informationprovided from individual components of an information handling systemplatform, such as central processing unit (CPU), hard disk drive (HDD)and redundant array of independent disks (RAID) hardware (RAID card).Conventional CPU thermal control for information handling systemplatforms such as servers is typically implemented based on acombination of register values that are read directly from the CPU andsystem manufacturer-defined table values that are based on systemcharacterization and maintained in system memory. Although many servercomponents have a fixed temperature requirement that is stablethroughout development of an information handling system architecture,CPU thermal requirements are often changed by the CPU manufacturer forgiven type of CPU during the course of the information handling systemplatform architecture development. To further complicate matters, CPUthermal requirements may also vary as a function of CPU stock keepingunit (SKU), and loading and performance settings, e.g., such as enhancedhalt state (C1E) disabled. CPU manufacturers reserve the right to changeCPU thermal requirements and register values until late in systemmanufacturer development phases. Occasionally, the requirements areincorrectly documented. Other times, qualification sample parts areincorrectly programmed with faulty values, resulting in bad thermalsettings in system manufacturer thermal control tables.

FIGS. 1-4 illustrate CPU die operating temperature as a function of timewhere conventional thermal control setpoint methodology is used tocontrol information handling system cooling fan speed in real time basedon sensed changes in CPU die operating temperature of a server for fourrespective different CPU devices of the same type of CPU device. In eachcase, the real time server CPU temperature is sensed by integrated CPUdigital thermal sensing circuitry and reported (as an offset valuerelative to CPU thermal throttling temperature threshold describedbelow) to a server baseboard management controller (BMC) that controlscooling fan speed based on the reported CPU temperature using fixedcontroller gains. In FIGS. 1-4, the CPU thermal throttling temperaturethreshold is a register value maintained by the given CPU device thatrepresents a CPU temperature threshold set by the CPU manufacturer andabove which the CPU provides a critical temperature warning and a CPUthermal throttling control circuit of the CPU is activated by a thermalmonitor of the CPU to reduce the CPU die temperature using clockmodulation and/or by throttling down the CPU clock speed and operatinginput voltage until the sensed CPU temperature drops again drops belowthe CPU thermal throttling temperature threshold. A separate CPU fancontrol target temperature setpoint value is a static CPU register valuethat is set by the CPU manufacturer below the maximum CPU temperature(or CPU thermal throttling temperature threshold). The CPU fan controltarget temperature setpoint value is a target or desired CPU dieoperating temperature that is set by the manufacturer for the individualCPU device.

In FIGS. 1-4, the CPU fan control target temperature setpoint value isintended to be read from the CPU register and used by the BMC as asetpoint for increased fan speed control for cooling the CPU in anattempt to maintain the real time CPU die operating temperature at theretrieved CPU fan control target temperature setpoint value and toprevent the real time CPU die operating temperature from reaching theCPU thermal throttling temperature threshold. However, actual CPUcooling characteristics may vary due to the particular coolingcharacteristics of a given server system platform configuration,including the particular combination and geometry of systemheat-generating components, cooling fans and chassis enclosure. Thus,CPU thermal throttling temperature threshold may be exceeded in somecases due to system cooling capability limits even when the server BMCuses the retrieved CPU fan control target temperature setpoint value totrigger the system cooling fans. In an attempt to prevent this fromoccurring, a manufacturer of an information handling system platform maydecide to set its own thermal control setpoints during systemdevelopment that are more stringent than the maximum CPU temperature/CPUthermal throttling temperature threshold and CPU fan control targettemperature setpoint values. These system manufacturer thermal controlsetpoints may be used to control cooling fan speed based on actualinformation handling system component configuration, chassisconfiguration, and system cooling fan characteristics/capacity in anattempt to ensure that the CPU temperature never reaches CPU thermalthrottling temperature threshold and CPU thermal throttling activationeven when the CPU fan control target temperature setpoint value is settoo high for the actual server system cooling capability.

Specifically, in FIGS. 1-4 a system fan control target setpointtemperature value may be set by a manufacturer of an informationhandling system platform at a CPU temperature below the CPU fan controltarget temperature setpoint value and stored in BMC non-volatile memoryas a fixed fan control target (FTC) offset value below the fixed CPU fancontrol target temperature setpoint value read from the CPU register ofa given CPU of a particular information handling system platforminstantiation as shown by the downward arrow in FIGS. 1-4. Thus, thesystem manufacturer system fan control target setpoint temperature valueacross different information handling system platform instantiations isallowed to automatically move upward or downward as CPU manufacturerchanges to the CPU fan control target temperature setpoint value occurbetween different CPU devices, e.g., changes due to different CPU stockkeeping unit (SKU), different loading and performance settings, etc. Inthis regard, the CPU fan control target temperature setpoint value is afixed value for each individual CPU device part, but may vary betweendifferent individual CPU device parts of the same type, such that afirst individual CPU device installed in a first information handlingsystem platform instantiation is provided by the CPU manufacturer with adifferent CPU fan control target temperature setpoint value than asecond individual CPU device of the same CPU type of CPU device that isinstalled in a separate second information handling system platforminstantiation. Thus, the resulting system manufacturer system fancontrol target setpoint temperature is automatically set by the BMC ofthe second information handling system platform to a differenttemperature value than the system manufacturer system fan control targetsetpoint temperature set by the BMC of the first information handlingsystem platform, even though the second CPU device installed in thesecond information handling system platform is the same type of CPUdevice as the first CPU device installed in the first informationhandling system platform.

Still referring to FIGS. 1-4, the information handling systemmanufacturer may also set a specified system power capping thresholdtemperature value in BMC non-volatile memory that is below the CPUthermal throttling temperature threshold and above the CPU fan controltarget temperature setpoint value specified and set by the CPUmanufacturer. This system manufacturer power capping thresholdtemperature value is supposed to be represent a CPU temperature valuebelow the CPU thermal throttling temperature threshold where the systemBMC initiates CPU throttling. However, as further described below, CPUthermal throttling temperature threshold may be changed upwards ordownwards between different CPU devices of the same type without noticeby the CPU manufacturer, sometimes in a manner that places CPU thermalthrottling temperature threshold below the system manufacturer powercapping threshold temperature value.

FIG. 1 illustrates an example where the conventional thermal controlsetpoint methodology described above is working correctly for a firstgiven CPU device. As shown in FIG. 1, CPU die operating temperatureincreases with time and triggers cooling fan speed increase by thesystem BMC when the CPU temperature reaches the system fan controltarget setpoint temperature value set by the information handling systemmanufacturer. With the increased cooling fan speed, the CPU temperatureis controlled to be the specified system manufacturer system fan controltarget setpoint threshold and such that the CPU temperature does notexceed either the system manufacturer power capping thresholdtemperature or the CPU thermal throttling temperature threshold, andthus CPU thermal throttling control is not activated and no CPUthrottling or temperature warnings are required.

In the conventional example of FIG. 2, the CPU manufacturer has relaxed(or raised) the CPU fan control target temperature setpoint value storedin the register of a second and different given CPU device that is thesame type of CPU device as the first CPU device of FIG. 1. This may bedone by a CPU manufacturer, for example, in an attempt to increaseperformance of a given type of CPU and/or to decrease cooling fan use.As shown in FIG. 2, the CPU fan control target temperature setpointvalue has been raised in this case above the power capping thresholdtemperature value set by the information handling system manufacturer,and this in turn raises the system manufacturer system fan controltarget setpoint value used by the system BMC. Thus, in FIG. 2 coolingfan speed increase is not triggered until a higher CPU temperature thanwas the case in the example of FIG. 1. This causes the CPU die operatingtemperature to overshoot or exceed both the system manufacturer powercapping threshold temperature and the CPU thermal throttling temperaturethreshold, in turn causing CPU throttling and CPU thermal throttlingactivation before the CPU temperature is eventually controlled to thesystem manufacturer system fan control target setpoint temperature.

In the example of FIG. 3, the CPU manufacturer has lowered the CPU fancontrol target temperature setpoint value stored in the register of athird and different given CPU device that is the same type of CPU deviceas the first and second CPU devices of respective FIGS. 1 and 2. Thislowering of CPU fan control target temperature between different CPUdevices is represented by the downward pointing cross-hatched arrow inFIG. 3. Thus, in FIG. 3, cooling fan speed increase is triggered earlierat a lower CPU temperature than was the case in the example of FIG. 1.In this case, the temperature control gain value/s used by the BMC toregulate cooling fan speed are tuned by the information handling systemplatform manufacturer for the original higher CPU fan control targettemperature setpoint value of FIG. 1. Consequently, CPU temperature andfan speed response are not stable, but rather oscillates as shown aboveand below the system manufacturer system fan control target setpointtemperature and may exceed the system manufacturer power cappingthreshold as shown, resulting in undesired CPU throttling initiated bythe BMC.

In the example of FIG. 4, the CPU manufacturer has lowered the CPUthermal throttling temperature threshold value stored in the register ofa fourth and different given CPU device that is the same type of CPUdevice as the first, second and third CPU devices of respective FIGS. 1,2 and 3. In this case the CPU thermal throttling temperature thresholdhas been lowered below the fixed or static power capping thresholdtemperature value set in the BMC by the information handling systemplatform manufacturer. Consequently, CPU temperature is allowed toexceed the new CPU thermal throttling temperature threshold beforereaching the system manufacturer power capping threshold temperature,which results in the undesirable consequences of a critical temperaturewarning and CPU thermal throttling activation described above.

As illustrated in FIGS. 1-4, there is a significant risk of havinginformation handling system manufacturer-specified thermal controlparameters/setpoints that aren't optimized for the CPU thermal controlparameters/setpoints of the CPU devices that are actually installedand/or shipped with a given information handling system platforminstantiation. This can result in factory or field failures as a resultof this problem. Moreover, changes in CPU manufacturer thermalrequirements and/or thermal parameter register values creates systemmanufacturer workload churn for the thermal control tuning andvalidation as well as driving additional builds and code validation.Additionally, taking advantage of temperature relief provided by the CPUthermal profile results in risk of CPU thermal throttling activation.

A CPU thermal profile has also been specified by the CPU manufacturerand stored in the CPU register to define a relationship between a CPUfan control target setpoint temperature and CPU operating power. In sucha case, the BMC may read the particular value of CPU fan control targetsetpoint temperature from the CPU thermal profile at the current CPUoperating power, and use this read CPU thermal profile value as the fancontrol target setpoint temperature value for fan speed control at thecurrent CPU operating power. The fan control target setpoint temperaturefrom the CPU thermal profile increases with increasing CPU operatingpower to allow the CPU fan control target setpoint temperature value toeventually equal the specified CPU thermal throttling temperaturethreshold value for the CPU, which causes risk of CPU thermal throttlingactivation in the case of slight CPU temperature overshoot above the CPUthermal throttling temperature threshold value.

SUMMARY OF THE INVENTION

Disclosed herein are systems and methods of adaptive thermal control forinformation handling system platforms (e.g., such as server platforms)that may be implemented to automate and scale fan control settings(e.g., which in the past have been treated as conventional absolute fancontrol settings) by making the fan control settings relative to areported component thermal control parameter value (e.g., such as acomponent fan control target setpoint value or component thermalthrottling temperature threshold value) from a component of aninformation handling system platform, such as a CPU or other heatgenerating component. In one exemplary embodiment, the disclosed systemand methods may be further used to define bounds for system use ofvendor or component manufacturer-reported thermal control parametervalues (e.g., such as a component fan control target setpoint values orcomponent thermal throttling temperature threshold values) for systemcooling so as to confine use of these values within information handlingsystem platform limits characterized by a manufacturer of an informationhandling system platform.

In one exemplary embodiment, the disclosed systems and methods mayemploy adaptive thermal control parameters (e.g., such as system powercapping threshold values, system fan control target setpoint values, andcontroller gains) in closed loop thermal control techniques in a mannerthat doesn't blindly rely on the hard-coded thermal control parameter orsetpoint values that are stored in the register/s of a CPU or other typeof heat-generating component. For example, in the case of a CPUinstalled in an information handling system platform, the disclosedsystems and methods may be implemented to set platform thermal controlparameter limits to control cooling fan behavior based on CPU operatingtemperature and hard-coded CPU thermal control parameter/setpoint valuesin an adaptive manner that ensures that the hard-coded CPU registervalues cannot be changed enough (e.g., by the CPU manufacturer) betweenCPU devices to negatively impact the information handling systemperformance. Advantageously, the disclosed systems and methods may be soimplemented to eliminate the risk of reaching higher CPU die operatingtemperatures that are sufficiently high to cause critical temperaturewarning, thermal throttling activation or undesirable fan controlbehavior (e.g., such as fan speed oscillations). Although describedherein in relation to cooling an information handling system CPU basedon CPU thermal control parameter/setpoint values stored in a CPUregister/s, it will be understood that the disclosed systems and methodsmay be similarly implemented for adaptive thermal control of any othertype of information handling system platform component that reports itstemperature and target setpoint thermal control values, or from whichtarget setpoint spec cooling temperatures are read directly from thecomponent. Examples of such other types of components include, but arenot limited to, graphics processing units (GPUs), RAID controllers,volatile memory devices, non-volatile memory devices, hard drives, solidstate drives, network adapters, storage adapters, power supplycomponents, etc.

The disclosed systems and methods may be implemented in one embodimentin a manner that eliminates the need to keep exact accounting for actualCPU temperature specs within a thermal table, and that also eliminatesvulnerability to changes in CPU thermal control parameters that may beimplemented by a CPU manufacturer between different CPU devices.Advantageously, the disclosed systems and methods may also beimplemented in a manner that eliminates the need to define each CPU binfor configuration detection and accounting for each CPU specific spec.Thus, the disclosed systems and methods may be implemented in oneembodiment without defining a separate Tier for each CPU bin (i.e., eventhough temperature parameter specs are specific to a bin), and withoutdefining fan control cooling setpoints for each CPU device. Rather, thedisclosed systems and methods may be implemented in a manner that is CPUbin agnostic (from a temperature target setpoint perspective).

In one respect, disclosed herein is an information handling system,including: a chassis enclosure; at least one heat-generating componentto be cooled that is contained within the chassis enclosure thatconsumes electrical power for operation, the heat-generating componentincluding memory storing at least one component thermal controlparameter that includes a component thermal throttling temperaturethreshold value; at least one temperature sensor configured to sense andreport an operating temperature of the heat generating component; one ormore variable speed cooling fans configured to provide different flowrates of cooling air within the chassis enclosure to cool the heatgenerating component; system persistent storage separate from theheat-generating component to be cooled, the persistent storage includingsystem thermal control parameter information stored thereon, the systemthermal control parameter information defining a relationship betweenvalues of the component thermal throttling temperature threshold andvalues of one or more system thermal control parameters; and at leastone processing device separate from the heat generating component thatis coupled to receive values of real time sensed component temperaturefrom the temperature sensor, and to provide control signals to control afan speed of each of the cooling fans to cool the heat-generatingcomponent and/or to control power consumption of the heat-generatingcomponent. In one embodiment, the processing device may be coupled toretrieve the component thermal throttling temperature threshold valuestored in the memory of the heat-generating component, and may befurther coupled to retrieve the system thermal control parameterinformation stored on the system persistent storage. The processingdevice may be further configured to determine a value of at least onesystem thermal control parameter based on the retrieved componentthermal throttling temperature threshold value and the retrievedrelationship between values of component thermal throttling temperaturethreshold and values of one or more system thermal control parameters,and to control cooling fan speed of one or more of the cooling devicesand/or control power consumption of the heat-generation component basedon a combination of the determined system thermal control parametervalue and the value of the real time current sensed componenttemperature.

In another respect, disclosed herein is an adaptive method forcontrolling cooling fan response in an information handling system,including: operating at least one heat-generating component thatconsumes electrical power within an information handling system chassisenclosure, the heat-generating component including memory storing atleast one component thermal control parameter that includes a componentthermal throttling temperature threshold value; using one or morevariable speed cooling fans to provide different flow rates of coolingair within the chassis enclosure to cool the heat generating component;using at least one temperature sensor to sense an operating temperatureof the heat generating component in real time; and using at least oneprocessing device separate from the heat generating component to:retrieve the component thermal throttling temperature threshold valuestored in the memory of the heat-generating component, receive values ofreal time sensed component operating temperature from the temperaturesensor, determine a value of at least one system thermal controlparameter based on the retrieved component thermal throttlingtemperature threshold and a defined relationship between values ofcomponent thermal throttling temperature threshold and values of systemthermal control parameter, and control cooling fan speed of one or moreof the cooling devices and/or control power consumption of theheat-generation component based on a combination of the determinedsystem thermal control parameter value and the value of the real timecurrent sensed component temperature.

In another respect, disclosed herein is an information handling system,including: a chassis enclosure; at least one heat-generating componentto be cooled that is contained within the chassis enclosure thatconsumes electrical power for operation, the heat-generating componentincluding memory storing at least one component thermal controlparameter that includes a component fan control target setpointtemperature value; at least one temperature sensor configured to senseand report an operating temperature of the heat generating component;one or more variable speed cooling fans configured to provide differentflow rates of cooling air within the chassis enclosure to cool the heatgenerating component; system persistent storage separate from theheat-generating component to be cooled, the persistent storage includingsystem thermal control parameter information stored thereon, the systemthermal control parameter information defining a relationship betweendifferent values of closed loop controller gains as a function ofdifferent component fan control target setpoint temperature values; andat least one processing device separate from the heat generatingcomponent that is coupled to receive values of real time sensedcomponent temperature from the temperature sensor, and to implement aclosed loop process controller to provide control signals to control afan speed of each of the cooling fans to cool the heat-generatingcomponent based on the received values of real time sensed componenttemperature. In one embodiment, the processing device may be coupled toretrieve the component fan control target setpoint temperature valuestored in the memory of the heat-generating component, and may befurther coupled to access the system thermal control parameterinformation stored on the system persistent storage. The processingdevice may be further configured to determine a value of at least oneclosed loop controller gain for the closed loop process controller basedon the retrieved component fan control target setpoint temperature valueand the relationship between different values of closed loop controllergains as a function of different component fan control target setpointtemperature values, and to use the at least one determined closed loopcontroller gain in the closed loop process controller to further providethe control signals based on the retrieved component fan control targetsetpoint temperature value and a selected fan control target setpointtemperature value to control a fan speed of each of the cooling fans tocool the heat-generating component.

In another respect, disclosed herein is an adaptive method forcontrolling cooling fan response in an information handling system,including: operating at least one heat-generating component thatconsumes electrical power within an information handling system chassisenclosure, the heat-generating component including memory storing atleast one component thermal control parameter that includes a componentfan control target setpoint temperature value; using one or morevariable speed cooling fans to provide different flow rates of coolingair within the chassis enclosure to cool the heat generating component;using at least one temperature sensor to sense an operating temperatureof the heat generating component in real time; using at least oneprocessing device separate from the heat generating component to:retrieve the component fan control target setpoint temperature valueprofile stored in the memory of the heat-generating component, andreceive values of real time sensed component temperature from thetemperature sensor; and using at least one processing device separatefrom the heat generating component to: determine a value of at least oneclosed loop controller gain for a closed loop process control based onthe retrieved component fan control target setpoint temperature valueand a relationship between different values of closed loop controllergains as a function of different component fan control target setpointtemperature values, receive values of real time sensed componenttemperature from the temperature sensor, implement a closed loop processcontroller to provide control signals to control a fan speed of each ofthe cooling fans to cool the heat-generating component based on thereceived values of real time sensed component temperature, and use theat least one determined closed loop controller gain in the closed loopprocess controller to further provide the control signals based on theretrieved component fan control target setpoint temperature value and aselected fan control target setpoint temperature value to control a fanspeed of each of the cooling fans to cool the heat-generating component.

In another and first additional respect, disclosed herein is aninformation handling system, including: a chassis enclosure; at leastone heat-generating component to be cooled that is contained within thechassis enclosure that consumes electrical power for operation, theheat-generating component including memory storing at least onecomponent thermal control parameter that includes at least one of acomponent thermal throttling temperature threshold value or a componentfan control target setpoint temperature value; at least one temperaturesensor configured to sense and report an operating temperature of theheat generating component; one or more variable speed cooling fansconfigured to provide different flow rates of cooling air within thechassis enclosure to cool the heat generating component; systempersistent storage separate from the heat-generating component to becooled, the persistent storage including system thermal controlparameter information stored thereon, the system thermal controlparameter information defining a permissible range of values for the atleast one component thermal control parameter; and at least oneprocessing device separate from the heat generating component that iscoupled to receive values of real time sensed component temperature fromthe temperature sensor, and to provide control signals to control a fanspeed of each of the cooling fans to cool the heat-generating componentand/or to control power consumption of the heat-generating component.

In one embodiment of such a first additional respect, the processingdevice may be coupled to retrieve the at least one component thermalcontrol parameter stored in the memory of the heat-generating component,and may be further coupled to retrieve the system thermal controlparameter information including the permissible range of values for theat least one component thermal control parameter from the systempersistent storage. In a further embodiment of such a system, theprocessing device may be further configured to compare the retrievedcomponent thermal control parameter to the defined permissible range ofvalues for the component thermal control parameter to determine if theretrieved component thermal control parameter has a value within thedefined permissible range of values for the component thermal controlparameter, and to: use the retrieved component thermal control parameterto control cooling fan speed of one or more of the cooling devicesand/or control power consumption of the heat-generation component if theretrieved component thermal control parameter is determined to be withinthe defined permissible range of values for the component thermalcontrol parameter, or use the maximum value of the defined permissiblerange of values for the component thermal control parameter to controlcooling fan speed of one or more of the cooling devices and/or controlpower consumption of the heat-generation component if the retrievedcomponent thermal control parameter is determined to be greater than thedefined permissible range of values for the component thermal controlparameter, or use the minimum value of the defined permissible range ofvalues for the component thermal control parameter to control coolingfan speed of one or more of the cooling devices and/or control powerconsumption of the heat-generation component if the retrieved componentthermal control parameter is determined to be less than the definedpermissible range of values for the component thermal control parameter.

In a further embodiment of such a first additional respect, theretrieved component thermal control parameter may be a retrievedcomponent fan control target setpoint temperature, and the definedpermissible range of values for the component thermal control parametermay be a permissible range of values of component fan control targetsetpoint temperature. In such an embodiment, the processing device maybe configured to compare the retrieved component fan control targetsetpoint temperature to the permissible range of values of component fancontrol target setpoint temperature to determine if the retrievedcomponent fan control target setpoint temperature has a value within thedefined permissible range of values of component fan control targetsetpoint temperature, and to: use the retrieved component fan controltarget setpoint temperature value as a selected component fan controltarget setpoint temperature value to control cooling fan speed of one ormore of the cooling devices if the retrieved component fan controltarget setpoint temperature is determined to be within the definedpermissible range of values of component fan control target setpointtemperature, or use the maximum value of the defined permissible rangeof values of component fan control target setpoint temperature as aselected component fan control target setpoint temperature value tocontrol cooling fan speed of one or more of the cooling devices if theretrieved component fan control target setpoint temperature isdetermined to be greater than the defined permissible range of values ofcomponent fan control target setpoint temperature, or use the minimumvalue of the defined permissible range of values of component fancontrol target setpoint temperature as a selected component fan controltarget setpoint temperature value to control cooling fan speed of one ormore of the cooling devices if the retrieved component fan controltarget setpoint temperature is determined to be less than the definedpermissible range of values of component fan control target setpointtemperature.

In a further embodiment of such a first additional respect, theprocessing device may be configured to determine a value of a system fancontrol target setpoint temperature by subtracting an offset value fromthe selected component fan control target setpoint temperature value,and to control cooling fan speed of one or more of the cooling devicesbased on the determined system fan control target setpoint temperatureand the real time current sensed component temperature. Additionally,the at least one heat-generating component may in one embodiment be acentral processing unit (CPU), and the at least one processing devicethat is separate from the heat-generating component may be anout-of-band processing device.

In another and second additional respect, disclosed herein is anadaptive method for controlling cooling fan response in an informationhandling system, including: operating at least one heat-generatingcomponent that consumes electrical power within an information handlingsystem chassis enclosure, the heat-generating component including memorystoring at least one component thermal control parameter that includesat least one of a component thermal throttling temperature thresholdvalue or a component fan control target setpoint temperature value;using one or more variable speed cooling fans to provide different flowrates of cooling air within the chassis enclosure to cool the heatgenerating component; using at least one temperature sensor to sense anoperating temperature of the heat generating component in real time;using at least one processing device separate from the heat generatingcomponent to: retrieve the component thermal control parameter valuestored in the memory of the heat-generating component, and receivevalues of real time sensed component operating temperature from thetemperature sensor; using at least one processing device separate fromthe heat generating component to compare the retrieved component thermalcontrol parameter to a defined permissible range of values for thecomponent thermal control parameter to determine if the retrievedcomponent thermal control parameter has a value within the definedpermissible range of values for the component thermal control parameter,and to: use the retrieved component thermal control parameter to controlcooling fan speed of one or more of the cooling devices and/or controlpower consumption of the heat-generation component if the retrievedcomponent thermal control parameter is determined to be within thedefined permissible range of values for the component thermal controlparameter, or use the maximum value of the defined permissible range ofvalues for the component thermal control parameter to control coolingfan speed of one or more of the cooling devices and/or control powerconsumption of the heat-generation component if the retrieved componentthermal control parameter is determined to be greater than the definedpermissible range of values for the component thermal control parameter,or use the minimum value of the defined permissible range of values forthe component thermal control parameter to control cooling fan speed ofone or more of the cooling devices and/or control power consumption ofthe heat-generation component if the retrieved component thermal controlparameter is determined to be less than the defined permissible range ofvalues for the component thermal control parameter.

In one embodiment of such a second additional respect, the retrievedcomponent thermal control parameter may be a retrieved component fancontrol target setpoint temperature; the defined permissible range ofvalues for the component thermal control parameter may be a permissiblerange of values of component fan control target setpoint temperature;and the method may further include: using the processing device tocompare the retrieved component fan control target setpoint temperatureto the permissible range of values of component fan control targetsetpoint temperature to determine if the retrieved component fan controltarget setpoint temperature has a value within the defined permissiblerange of values of component fan control target setpoint temperature,and using the processing device to: use the retrieved component fancontrol target setpoint temperature value as a selected component fancontrol target setpoint temperature value to control cooling fan speedof one or more of the cooling devices if the retrieved component fancontrol target setpoint temperature may be determined to be within thedefined permissible range of values of component fan control targetsetpoint temperature, or use the maximum value of the definedpermissible range of values of component fan control target setpointtemperature as a selected component fan control target setpointtemperature value to control cooling fan speed of one or more of thecooling devices if the retrieved component fan control target setpointtemperature may be determined to be greater than the defined permissiblerange of values of component fan control target setpoint temperature, oruse the minimum value of the defined permissible range of values ofcomponent fan control target setpoint temperature as a selectedcomponent fan control target setpoint temperature value to controlcooling fan speed of one or more of the cooling devices if the retrievedcomponent fan control target setpoint temperature may be determined tobe less than the defined permissible range of values of component fancontrol target setpoint temperature.

In a further embodiment of such a second additional respect, the methodmay further include using the processing device to: determine a value ofa system fan control target setpoint temperature by subtracting anoffset value from the selected component fan control target setpointtemperature value; and to control cooling fan speed of one or more ofthe cooling devices based on the determined system fan control targetsetpoint temperature and the real time current sensed componenttemperature. Additionally, in one embodiment, the at least oneheat-generating component may be a central processing unit (CPU), andthe at least one processing device that may be separate from theheat-generating component may be an out-of-band processing device.

In another and third additional respect, disclosed herein is aninformation handling system, including: a chassis enclosure; at leastone heat-generating component to be cooled that may be contained withinthe chassis enclosure that consumes electrical power for operation, theheat-generating component including memory storing a component thermalthrottling temperature threshold value and a component thermal profilethat may be specified as a relationship between component operatingtemperature and component operating power that may be limited at anupper value by the component thermal throttling temperature thresholdvalue; at least one temperature sensor configured to sense and report anoperating temperature of the heat generating component; one or morevariable speed cooling fans configured to provide different flow ratesof cooling air within the chassis enclosure to cool the heat generatingcomponent; system persistent storage separate from the heat-generatingcomponent to be cooled, the persistent storage including system thermalcontrol parameter information stored thereon, the system thermal controlparameter information including a system maximum component thermalprofile value; and at least one processing device separate from the heatgenerating component that may be coupled to receive values of real timesensed component temperature from the temperature sensor, to receivevalues of real time component power consumption from the heat-generatingcomponent, and to provide control signals to control a fan speed of eachof the cooling fans to cool the heat-generating component.

In one embodiment of such a third additional respect, the processingdevice may be coupled to retrieve the component thermal throttlingtemperature threshold value and the fan control target setpointtemperature profile stored in the memory of the heat-generatingcomponent, and may be further coupled to retrieve the system maximumcomponent thermal profile value from the system persistent storage. In afurther embodiment of such a third additional respect, the processingdevice may be configured to: use the component thermal profile todetermine a component fan control target setpoint temperature value as afunction of received real time current component power consumption anduse the determined component fan control target setpoint temperaturevalue as a selected component fan control target setpoint temperaturevalue to control cooling fan speed of one or more of the cooling devicesif the determined component fan control target setpoint temperaturevalue may be less than or equal to the system maximum component thermalprofile value, or use the system maximum component thermal profile valueas a selected component fan control target setpoint temperature value tocontrol cooling fan speed of one or more of the cooling devices if thedetermined component fan control target setpoint temperature value maybe greater than the system maximum component thermal profile value.

In a further embodiment of such a third additional respect, theprocessing device may be configured to determine a value of a system fancontrol target setpoint temperature by subtracting an offset value fromthe selected component fan control target setpoint temperature value,and to control cooling fan speed of one or more of the cooling devicesbased on the determined system fan control target setpoint temperatureand the real time current sensed component temperature. Additionally,the at least one heat-generating component may be a central processingunit (CPU), and where the at least one processing device that may beseparate from the heat-generating component may be an out-of-bandprocessing device.

In another and fourth additional respect, disclosed herein is anadaptive method for controlling cooling fan response in an informationhandling system, including: operating at least one heat-generatingcomponent that consumes electrical power within an information handlingsystem chassis enclosure, the heat-generating component including memorystoring at least one component thermal control parameter that includes acomponent thermal throttling temperature threshold value and a componentthermal profile that may be specified as a relationship betweencomponent operating temperature and component operating power that maybe limited at an upper value by the component thermal throttlingtemperature threshold value; using one or more variable speed coolingfans to provide different flow rates of cooling air within the chassisenclosure to cool the heat generating component; using at least onetemperature sensor to sense an operating temperature of the heatgenerating component in real time; using at least one processing deviceseparate from the heat generating component to: retrieve the componentthermal throttling temperature threshold value and the component thermalprofile stored in the memory of the heat-generating component, andreceive values of real time sensed component temperature from thetemperature sensor, and to receive values of real time component powerconsumption from the heat-generating component; and using at least oneprocessing device separate from the heat generating component to: usethe component thermal profile to determine a component fan controltarget setpoint temperature value as a function of received real timecurrent component power consumption, and use the determined componentfan control target setpoint temperature value as a selected componentfan control target setpoint temperature value to control cooling fanspeed of one or more of the cooling devices if the determined componentfan control target setpoint temperature value may be less than or equalto a system maximum component thermal profile value that itself may beset less than the component thermal throttling temperature thresholdvalue, or use the system maximum component thermal profile value as aselected component fan control target setpoint temperature value tocontrol cooling fan speed of one or more of the cooling devices if thedetermined component fan control target setpoint temperature value maybe greater than the system maximum component thermal profile value.

In one embodiment of such a third additional respect, the method mayfurther include using the processing device to determine a value of asystem fan control target setpoint temperature by subtracting an offsetvalue from the selected component fan control target setpointtemperature value, and to control cooling fan speed of one or more ofthe cooling devices based on the determined system fan control targetsetpoint temperature and the real time current sensed componenttemperature. Additionally, the at least one heat-generating componentmay be a central processing unit (CPU), and the at least one processingdevice that may be separate from the heat-generating component may be anout-of-band processing device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates CPU die operating temperature as a function of timeaccording to conventional thermal control setpoint methodology.

FIG. 2 illustrates CPU die operating temperature as a function of timeaccording to conventional thermal control setpoint methodology.

FIG. 3 illustrates CPU die operating temperature as a function of timeaccording to conventional thermal control setpoint methodology.

FIG. 4 illustrates CPU die operating temperature as a function of timeaccording to conventional thermal control setpoint methodology.

FIG. 5 is a block diagram illustrating an information handling systemplatform according to one exemplary embodiment of the disclosed systemsand methods.

FIG. 6A illustrates component temperature as a function of timeaccording to one exemplary embodiment of the disclosed systems andmethods.

FIG. 6B illustrates closed loop controller gain values as a function ofcomponent fan control target temperature setpoint value according to oneexemplary embodiment of the disclosed systems and methods.

FIG. 7 illustrates component temperature as a function of time accordingto one exemplary embodiment of the disclosed systems and methods.

FIG. 8 illustrates component temperature as a function of time accordingto one exemplary embodiment of the disclosed systems and methods.

FIG. 9 illustrates component temperature as a function of time accordingto one exemplary embodiment of the disclosed systems and methods.

FIG. 10 illustrates component temperature as a function of componentpower according to one exemplary embodiment of the disclosed systems andmethods.

DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

FIG. 5 illustrates one exemplary embodiment of an information handlingsystem platform 500, configured in this embodiment as a server platform.As shown, system platform 500 includes heat-producing electricalcomponents and one or more cooling fans 590 configured to cool theheat-producing components. The heat-producing components may becontained within an enclosure 504 (e.g., such as a 2U, 3U, 4U, etc.computer chassis) and cooled by the one or more cooling fan/s 590 in amanner as described below. Examples of heat-producing componentsillustrated in the embodiment of FIG. 5 include one or more in-band hostprocessing devices 506 (e.g., CPU executing host operating system),video/graphics hardware (e.g., video card/s) 509, storage (e.g., one ormore HDDs) 518, memory (e.g., RAM) 521, RAID controller 530, networkadapter 517 and system power supply PSU 580, although other types andcombinations of heat-producing components are possible. Additionalcomponents that may be present in the embodiment of FIG. 5 include, butare not limited to, input/output (I/O) 512 and peripherals 515.

In the illustrated embodiment of FIG. 5, optional discrete temperaturesensor/s 514 may be present to sense and report the internal ambientoperating temperature within enclosure 504. As shown, one or more busesor other suitable communication media 503 may be provided for allowingcommunication of data and other information between the variouscomponents of system platform 500. Also shown present in FIG. 5 isout-of-band processing device 508 (e.g., (e.g., BMC, service processor,embedded processor, remote access controller, etc.) coupled topersistent storage 540. Together, out of band processing device 508 andpersistent storage 540 (e.g., BMC non-volatile memory) may be configuredas thermal management and power capping 532 to implement adaptivethermal control on a closed loop basis based on one or more real timemeasured hardware component temperatures, e.g., such as real timetemperature of CPU 506. A network adapter 517 may be present as shown toprovide communication between components of server platform 500 toremote user/s 527 via network (e.g., Internet) 519. Moreover, out ofband processing device 508 may be configured to control operation of CPU506 to reduce of throttle the power consumption of CPU 506.

It will be understood that system platform 500 illustrated in FIG. 5 isexemplary only, and that the disclosed thermal control systems andmethods may be implemented with any other information handling systemembodiments that include one or more heat-producing electricalcomponents and one or more cooling fans. Further, although oneparticular exemplary embodiment of an out-of-band processing device 508is illustrated in FIG. 5, the disclosed systems and methods may beimplemented in other embodiments using any other type and/or combinationof out-of-band processing devices and/or in-band processing devices(e.g., such as host processing device 506) that is suitable forimplementing one or more features of the disclosed systems and methodsas described herein. It will also be understood that an out-of-bandprocessing device is a processing device separate and independent fromany in-band host central processing unit (CPU) such as host processingdevice 506 that runs the host OS of an information handling systemplatform 500, and without management of any application executing with ahost OS on the host processing device 506.

As further shown in FIG. 5, one or more heat-producing components of aninformation handling system platform 500 may be provided with arespective thermal sensing circuitry or sensor/s 502 that is configuredto sense the real time temperature of its corresponding hardwarecomponent and then to report this sensed temperature to out of bandprocessing device 508 across communication media 503, e.g., atpredetermined time intervals that may be unique for each component. Oneor more optional chassis temperature sensors 504 may also be provided asshown for monitoring internal chassis temperatures at one or moredifferent chassis locations, e.g., such as ambient temperature at theair inlet of the chassis 504. Non-volatile persistent storage 540 may becoupled to out of band processing device 508, and may contain thermalcontrol parameters 542 that are accessible by out of band processingdevice 508. As described further herein, out of band processing device508 may execute adaptive thermal control logic 545 to control operationof cooling fan/s 590 based on adaptive thermal control parameters 542from persistent storage 540 and measured temperature informationreceived from sensors 502.

For purposes of illustration herein, the disclosed adaptive thermalcontrol systems and methods will be described with reference to theexemplary embodiment of FIG. 5 as it may be implemented to use coolingfans 590 to cool a CPU 506 having digital thermal sensing circuitry orsensor/s 502 that reports real time temperature of the processor die ofCPU 506 to out of band processing device 508 across communication media503, e.g., as an offset value relative to an activation temperature ofthermal throttling control of the CPU 506. In this embodiment, CPU 506also includes memory register/s 505 that contain hard-coded CPUcomponent thermal control parameter/setpoint values set by the CPUmanufacturer and that are accessible retrievable by out of bandprocessing device 508 from CPU registers 505. However, it will beunderstood that the disclosed systems and methods may implementedadaptive thermal control based on real time reported componenttemperature received across communication media 503 from respectivesensor/s 502 of any one or more of the other heat-producing componentsof information handling system 500, and/or based on real time internalambient temperature of chassis enclosure 504 as sensed by discretetemperature sensor/s 514 and reported to out of band processing device508 across communication media 503.

Moreover, as further illustrated in FIG. 5, other types ofheat-producing components of information handling system 500 mayoptionally include memory register/s 505 that contain hard-codedcomponent thermal control parameter/setpoint values set by the componentmanufacturer in a manner similar to that for CPU 506. In such analternative embodiment, hard-coded component thermal controlparameter/setpoint values may be retrievable by out of band processingdevice 508 from memory register/s 505 of a non-CPU heat-producingcomponent, e.g., in order to implement adaptive thermal control based onreal time component temperatures and component thermal parameters/setpoint values retrieved from the non-CPU component in a manner/s similarto that employed with CPU 506.

FIGS. 6A to 9 illustrate component operating temperature for the die ofCPU 506 as a function of time for different exemplary embodiments ofadaptive thermal control and will be described as being implemented bycomponents of the server platform embodiment 500 of FIG. 5, e.g., usingclosed loop thermal control techniques. It will be understood howeverthat the disclosed systems and methods may be implemented using otherinformation handling system configurations having different combinationsof heat-producing components, cooling fans and one or more processingdevice/s. Referring now to FIG. 5, in each of the embodiments of FIGS.6A-9, adaptive thermal control logic 545 of out-of-band processingdevice 508 is used to control speed of cooling fans 590 in a closed loopmanner and in real time based on sensed changes in operating temperatureof CPU component 506 as reported by the CPU's component digital thermalsensing circuitry or sensor/s 502 (e.g., as an offset value reportedrelative to a thermal throttling temperature threshold stored in CPUregister/s 505) to out-of-band processing device 508.

In FIGS. 6A-9, the component thermal throttling temperature threshold(e.g., such as CPU thermal throttling temperature threshold) is acomponent power capping threshold temperature value maintained inregister 505 of CPU device 506 or other type of heat-producing componentthat represents a component temperature threshold set by the componentmanufacturer and above which the component provides a criticaltemperature warning and component thermal throttling control 531 isactivated by a thermal monitor 529 of the component to reduce thecomponent (e.g., CPU die) temperature, e.g., in the case of CPU 506using clock modulation and/or by throttling down the CPU clock speed andoperating input voltage until the sensed CPU temperature drops againdrops below the maximum component temperature. A separate component fancontrol target setpoint temperature value in the form of a component fancontrol target temperature setpoint temperature value (e.g., such as CPUfan control target setpoint temperature value) is a static valuemaintained in register 505 of CPU 506 or other type of heat-producingcomponent and is set by the component manufacturer below the componentthermal throttling temperature threshold as a target component (e.g.,CPU die) operating temperature. It will be understood that theembodiments of each of FIGS. 6A-9 may be similarly implemented for othertypes of heat-producing components (such as any of components 580, 518,521, 509 and/or 530 of FIG. 5), in which case, such other types ofnon-CPU heat-producing components of information handling system 500 mayoptionally include one or more processing devices together with athermal monitor 529 that is configured to activate thermal throttlingcontrol 531 for the individual component, and a component thermalthrottling temperature threshold value may be maintained in register 505of the individual component that represents a component temperaturethreshold set by the component manufacturer and above which thecomponent may provide a critical temperature warning and/or componentthermal throttling control 531 may be activated by the component thermalmonitor 529 to reduce the component temperature in a manner similar tothat described for CPU 506.

FIG. 6A illustrates an exemplary embodiment in which closed loopcontroller gains or tuning parameters are scaled by adaptive thermalcontrol logic 545 executing on out-of-band processing device 508 as afunction of changes in component fan control target setpoint temperaturevalues (e.g., in this example CPU fan control target temperaturesetpoint values) stored in register 505 of a given CPU device 506 so asto compensate cooling fan response for more or less aggressive coolingfan response requirements. As shown, in FIG. 6A, adaptive thermalcontrol 545 may implement a closed loop process control algorithm orcontroller using the scaled controller gains to achieve a stable fanresponse even though component fan control target temperature setpointvalue for CPU 506 has been lowered or made more stringent for the givenCPU device 506 (as represented by the downward pointing cross-hatchedarrow). This is in contrast to the fan instability typically experiencedunder the same conditions when employing conventional thermal controlmethodology as illustrated in FIG. 3.

Examples of controller gain parameters/tuning parameters that may be soscaled include, but are not limited to, proportional-integral-derivative(PID) controller gains, i.e., proportional gain (K_(p)), integral gain(K_(i)), and derivative gain (Kd), which may be used in any combination(e.g., P, PI, PID, etc.) to generate the cooling fan controller outputu(t) or manipulated variable (MV) that may be used as a pulse widthmodulation (PWM) control signal that varies based on real time CPUtemperature provided from digital thermal sensing circuitry 502 of CPU506. The resulting PWM control signal may be used to control the coolingfan speed, e.g., in a manner such as described in U.S. patentapplication Ser. No. 13/559,031 filed Jul. 26, 2012 and in U.S. patentapplication Ser. No. 14/154,840 filed Jan. 14, 2014, each of which areincorporated herein by reference in its entirety for all purposes.Besides PWM, it will be understood that any other suitable type ofcontrol signal may be employed to control cooling fan speed and/or powercapping operations.

For example, in one exemplary embodiment a cooling fan controllerimplemented by adaptive thermal control 545 may utilize all three PIDgains in the following relationship of Equation 1 to control cooling fanspeed over time (t) based on setpoint (SP)=component fan control targettemperature, and real time component temperature (PV) reported bycomponent digital thermal sensing circuitry (e.g., sensor/s 502 of CPU506 or other heat-producing component) at any given instantaneous time(t):

$\begin{matrix}{{{u(t)} = {{{MV}(t)} = {{K_{p}{e(t)}} + {K_{i}{\int_{0}^{t}{{e(r)}d\;\tau}}} + {K_{d}\frac{d}{d\; t}{e(t)}}}}}\ } & \left( {{Equation}\mspace{14mu} 1} \right)\end{matrix}$

where: τ=variable of integration having values from time 0 to thepresent t;

-   -   e=error=set point (SP)−measured value (PV).

In one embodiment, scalable closed loop controller gains/tuningparameters may be stored in, and read from, a lookup table maintained inthermal control parameters 542 of persistent storage 540 of FIG. 5.Table 1 below is an example of such a lookup table format for storingmultiple scalable controller gain values Gain(1) to Gain(n) as afunction of specified component fan control target temperature setpointvalue read from register 505 of a given CPU device 506, e.g., Gain(1)may be K_(p), Gain(2) may be K_(i), Gain(3) may be Kd, etc. In thisembodiment, the values of each of the controller gains (e.g., Gain(1),Gain(2), Gain(3), etc.) may be increased to provide a faster response tomore stringent cooling requirements (e.g., decreased component fancontrol target temperature setpoint value in one embodiment) asillustrated in FIG. 6B, or may be decreased to provide a slower responseto less stringent or relaxed cooling requirements (e.g., increasedcomponent fan control target temperature setpoint value in oneembodiment). However, values of controller gains may vary in any otherdesired or suitable manner with changing component fan control targetsetpoint temperature values.

TABLE 1 Lookup Table Example Component fan control target 70° C. 71° C.72° C. 73° C. Gain(1) 1.0 0.8 0.6 0.4 Gain(2) 4.0 4.5 5. 5.5 Gain(3) 8.016.0 32.0 64.0 Gain(n) 0.1 0.2 0.3 0.4

In another exemplary embodiment, scalable closed loop controllergains/tuning parameters may be calculated from one or more equationsstored in, and read from, thermal control parameters 542 of persistentstorage 540 of FIG. 5. Table 2 below is an example of a set of equationsfor generating multiple respective scalable controller gain valuesGain(1) to Gain(n) as a function of a variable “x” that represents thespecified component fan control target temperature setpoint value (e.g.,70° C., 71° C., 72° C., 73° C., etc.) read from register 505 of a givenCPU device 506. Once again, in one exemplary embodiment Gain(1) may beK_(p), Gain(2) may be K_(i), Gain(3) may be Kd, etc.

TABLE 2 Equation Example Component fan control target 70° C. 71° C. 72°C. 73° C. Gain(1) =m * x + b Gain(2) =a * EXP(b * x) Gain(3) =a * x² +b * x + c Gain(n) =ƒ(x)

In each of the embodiments of Tables 1 and 2, component fan controltarget temperature is expressed as a component spec value (e.g., readfrom register 505 of a CPU device 506) that is expressed in values ofabsolute temperature (° C.), it being understood that similarmethodology may be employed for other types of heat-producing componentsbesides CPU 506. However, it will be understood that component fancontrol target temperature for a given information handling systemcomponent (such as CPU device 506 or other type of heat-producingcomponent) may be alternatively expressed as a component spec using anyother suitable type of temperature-indicative value, for example, as anoffset value from specified maximum component temperature or componentthermal throttling temperature threshold value.

In one embodiment, cooling fan speed may be controlled using a closedloop process control algorithm (e.g., P, PI, PID, etc.) implemented byadaptive thermal control 545 of processing device 508 based on either ofa system fan control target setpoint temperature (e.g., determined as anoffset from a component fan control target setpoint value as shown inFIG. 6), or alternatively based on a component fan control targetsetpoint value itself as received from an individual heat-generatingcomponent such as CPU 506 or other heat-producing components of FIG. 5.In either case, such a closed loop process control algorithm may beimplemented using scalable closed loop controller gains/tuningparameters that are determined based on a retrieved value of componentfan control target setpoint temperature in a manner such as illustratedand described above in relation to FIGS. 6A-6B and Tables 1 and 2.Alternatively, it will be understood that in other embodiments describedand illustrated herein, fixed non-scaled controller gains (e.g., P, PI,PID, etc.) may be employed in closed loop process control algorithms tocontrol cooling fan speed based on system and/or component fan controltarget setpoint temperatures, e.g., using the above describedrelationship of Equation 1 or using any other suitable closed loopcontrol relationship known in the art together with the fixed gainvalues to control cooling fan speed to control component (e.g., CPU)operating temperature to be the setpoint temperature.

FIG. 7 illustrates another exemplary embodiment in which system powercapping threshold temperature as set by a system manufacturer may beautomatically scaled, e.g., as an offset value or function (e.g., fixedoffset value, ratio, non-linear or quadratic function, functions listedin Table 2 herein, etc.) relative to the component manufacturer maximumcomponent temperature or component thermal throttling temperaturethreshold value read from register 505 of a given heat-producingcomponent such as CPU device 506, and in a manner such that the systemmanufacturer power capping threshold temperature value is decreased whenthe component thermal throttling temperature threshold value for a givenCPU device or other type of heat-producing component is decreased, andis increased when the component thermal throttling temperature thresholdvalue for a given CPU device or other type of heat-producing componentis increased. In this embodiment, system power capping threshold valuesare no longer static, and specific different fixed values of systemmanufacturer power capping threshold temperature for each CPU bin arenot required to be stored in BMC accessible memory as is required withconventional thermal control methodology. Rather, a power cappingthreshold scaling value (e.g., power capping offset function or value indegrees or other temperature-representative value) may be stored inthermal control parameters 542 of persistent storage 540, and then readby adaptive thermal control logic 545 of out-of-band processing device508.

In the embodiment of FIG. 7, out-of-band processing device 508 may alsoread the particular component thermal throttling temperature thresholdvalue from the register 505 of a given CPU device 506 or other type ofheat-producing component, and apply the power capping threshold scalingvalue to automatically scale the power capping threshold value up anddown together with changes to the component thermal throttlingtemperature threshold value (e.g., as a fixed offset below the componentthermal throttling temperature threshold value) as illustrated by thearrow in FIG. 7. In this case, system manufacturer power cappingthreshold value is always set relative (e.g., as a fixed offset) to theparticular component thermal throttling temperature threshold value of agiven CPU device or other type of heat-producing component included inthe current system, even if it is different from other CPU devices orother type of heat-producing components employed in other systems. Thus,for example, if component thermal throttling temperature threshold valueof a given CPU device 506 has changed from that specified for previousCPU devices 506, the power capping offset definition automaticallyupdates the system manufacturer power capping threshold temperature to anew value based on the magnitude of the new component thermal throttlingtemperature threshold value. This results in a different custom systemmanufacturer power capping threshold value being set for each CPU device506 that is provided with a different component thermal throttlingtemperature threshold value than other CPU devices 506, and in similarfashion with regard to other types of system heat-producing devices.

FIG. 8 illustrates another exemplary embodiment in which systemmanufacturer system fan control target setpoint temperature value isautomatically set as an offset or function (e.g., fixed offset value,ratio, non-linear or quadratic function, functions listed in Table 2herein, etc.) relative to the component thermal throttling temperaturethreshold value read from register 505 of a given CPU device 506 orother system heat-producing component, such that the system manufacturersystem fan control target setpoint temperature value is decreased whenthe component thermal throttling temperature threshold value for a givenheat-producing component is decreased, and is increased when thecomponent thermal throttling temperature threshold value for a givenheat-producing component is increased. This is in contrast toconventional thermal control methodology in which system manufacturersystem fan control target setpoint temperature value is set as an offsetfrom the CPU fan control target temperature setpoint value read fromregister 505 of a CPU device 506 as described in relation to FIG. 2.Thus, in the embodiment of FIG. 8, even when the component fan controltarget temperature setpoint value is relaxed (or increased) for a givenheat-producing component (e.g., CPU device) by the componentmanufacturer relative to the component thermal throttling temperaturethreshold value as illustrated by the upward pointing cross-hatchedarrow in FIG. 8, the system manufacturer system fan control targetsetpoint temperature does not increase or otherwise change relative tothe component thermal throttling temperature threshold value of thegiven CPU device as illustrated by the downward arrow representing theoffset in FIG. 8. This prevents the undesired activation of componentthrottling/critical temperature warning effects from occurring as is thecase in the conventional thermal control of FIG. 2.

In a further exemplary embodiment, the system manufacturer system fancontrol target setpoint temperature value may be automatically set as anoffset or function relative to the component thermal throttlingtemperature threshold value that is associated with a level oftemperature overshoot expected for a specific information handlingsystem platform configuration (e.g., the level of temperature overshootmay be characterized during system development or estimated based onsimulation).

In the embodiment of FIG. 8, an offset value or function for so scalingthe system manufacturer system fan control target setpoint temperaturevalue may be stored in thermal control parameters 542 of persistentstorage 540, and then read by adaptive thermal control logic 545 ofout-of-band processing device 508. Out-of-band processing device 508 mayalso read the particular component thermal throttling temperaturethreshold value from the register 505 of a given CPU device 506 or otherheat-producing component and apply the system manufacturer system fancontrol target setpoint scaling value or function to automatically setthe system manufacturer system fan control target setpoint temperaturevalue based on the component thermal throttling temperature thresholdvalue as illustrated by the downward arrow in FIG. 8, regardless of anychange in the component fan control target temperature setpoint value.

FIG. 9 illustrates another exemplary embodiment in which the range ofdifferent component fan control target temperature setpoint values thatmay be read from register 505 of a given CPU device 506 or other type ofheat-producing component and used by system out-of-band processingdevice 508 to implement adaptive thermal control may be limited to adefined permissible component fan control target temperature value rangethat is stored in in thermal control parameters 542 (e.g., thermalcontrol table) of persistent storage 540. It will be understood thatFIG. 9 is exemplary only, and that a permissible range of other types ofcomponent thermal control parameters (e.g., permissible range ofcomponent power capping threshold such as component thermal throttlingtemperature threshold values) may be defined and similarly applied tolimit the range of the other types of component thermal controlparameters.

Specifically, adaptive thermal control logic 545 of out-of-bandprocessing device 508 may be configured to only use values of selectedcomponent fan control target setpoint temperature that are within thespecified component fan control target temperature value range foradaptive thermal control, such that the actual component fan controltarget temperature setpoint value read from the CPU register 505 orregister 505 of other type of heat-producing component is only used as abasis for thermal control as long as it falls within the component fancontrol target temperature value range. However, if the particular fancontrol target temperature setpoint value read from the componentregister 505 exceeds the upper limit of the specified component fancontrol target temperature value range (such as may be the case whencomponent fan control target temperature is increased as shown by thecross-hatched arrow in FIG. 9), adaptive thermal control logic 545 ofout-of-band processing device 508 may be configured to use the specifiedupper limit component fan control target temperature setpoint value as aselected component fan control target setpoint temperature valueinstead. Similarly, if the component fan control target temperaturesetpoint value read from the component register 505 is below the lowerlimit of the specified component fan control target temperature valuerange, adaptive thermal control logic 545 of out-of-band processingdevice 508 may be configured to instead use the specified lower limitcomponent fan control target temperature setpoint value as a selectedcomponent fan control target setpoint temperature value. In this way,component fan control target temperature setpoint value from a componentregister 505 may change as long as it is within the temperature valuerange set within the thermal control parameters 542, and this allowssome flexibility for the component (e.g., CPU) manufacturer to changethe component fan control target temperature requirement within theconstraints of a system manufacturer system platform design.

It will be understood that the component fan control target temperaturevalue range illustrated in FIG. 9 is exemplary only, and that the rangeof values and/or absolute upper limit and lower limit values may vary asneeded or desired. Further, it is possible to implement a component fancontrol target temperature value range having only a upper limitcomponent fan control target temperature value (i.e., with no specifiedlower limit component fan control target temperature value), or toimplement a component fan control target temperature value range havingonly a lower limit component fan control target temperature value (i.e.,with no specified upper limit component fan control target temperaturevalue).

FIG. 10 illustrates another exemplary embodiment in which a componentthermal profile (e.g., for a CPU 506 or other type of heat-producingcomponent) may be optionally specified by the component manufacturer todefine a variable component fan control target setpoint, e.g.,optionally in conjunction with a fixed component fan control targettemperature setpoint value described previously. As shown in FIG. 10,component thermal profile is specified as a function or relationshipbetween real time current component operating temperature and real timecurrent component operating power. This relationship may be stored bythe component manufacturer in register 505 of the heat-producingcomponent which may be a CPU 506, it being understood that a componentthermal profile may be similarly specified as a function of real timecurrent component operating temperature for other types ofheat-generating components described herein.

In one embodiment, out-of-band processing device 508 may be configuredto use the particular value of component fan control target setpointtemperature that is read from the component thermal profile of the plotof FIG. 10 at the current component (e.g., CPU device 506) operatingpower (x-axis of FIG. 10) as a selected component fan control targetsetpoint temperature value for controlling fan speed to cool thecomponent (e.g., CPU device 506), i.e., rather than using a fixedcomponent fan control target temperature setpoint value at all values ofcomponent operating power in the manner previously described. In anotherembodiment, out-of-band processing device 508 may be optionallyconfigured to use the fixed component fan control target temperaturesetpoint value as a selected component fan control target setpointtemperature value for fan speed control across a range of componentoperating power values up to the point where the component thermalprofile value intersects the fixed component fan control targettemperature setpoint value (i.e., point labeled as point “X” in FIG.10). At component operating power values above this point, out-of-bandprocessing device 508 may be configured to use the particular componentthermal profile value from the plot of FIG. 10 as a selected componentfan control target setpoint temperature at the current componentoperating power. In the latter embodiment, a “Spec Violation Region”area in which out-of-band processing device 508 utilizes increased fanspeed control for cooling the component (e.g., CPU device 506) is thusdefined by the fixed component fan control target temperature andcomponent thermal profile values as a function of component operatingpower as denoted by the hatched area in FIG. 10. In any event, a fixedcomponent fan control target temperature setpoint temperature value maybe directly used as a system fan control target setpoint value totrigger increased cooling fan speed, or a system manufacturer system fancontrol target setpoint value may be set as an offset from the fixedcomponent fan control target temperature setpoint value (e.g., in amanner as previous described) and/or from the component thermal profilevalue, as the case may be.

Still referring the embodiment of FIG. 10, the unmodified componentthermal profile set by the component manufacturer (and stored inregister 505 of a heat-producing component) increases with increasingcomponent operating power to allow the selected component fan controltarget setpoint temperature value to become very close or equal to thespecified component thermal throttling temperature threshold value. Asfurther shown, a system maximum component thermal profile value (SystemProfile_(MAX)) may be specified (e.g., by the information handlingsystem manufacturer) in order to define a modified relationship betweencomponent thermal profile and current (real time) component (e.g., CPU)operating power. This System Profile_(MAX) temperature may beimplemented as a fixed value or as an offset value from componentthermal throttling temperature threshold value as shown, for example, byadaptive thermal control logic 545 of out-of-band processing device 508.

As shown in FIG. 10, the component thermal profile used by out-of-bandprocessing device 508 as a basis for selecting component fan controltarget setpoint temperature to control cooling fan speed is allowed totrack the unmodified component thermal profile (in a manner as describedabove) as the current component operating power increases up to thecomponent operating power value (“Y”) point where the unmodifiedcomponent thermal profile intersects the System Profile_(MAX)temperature. At real time component operating power values above thispoint “Y” the component thermal profile is modified so that a selectedcomponent fan control target setpoint temperature that is used byout-of-band processing device 508 to trigger increased cooling fan speedis limited to the System Profile_(MAX) temperature value. Thus, theSystem Profile_(MAX) temperature may be implemented as shown by adaptivethermal control logic 545 of out-of-band processing device 508) to limitthe maximum value of component fan control target setpoint temperaturerelative to the component thermal throttling temperature threshold valueand independent of what the unmodified component thermal profile orother type of component fan control target setpoint temperature profilecalculates so as to prevent risk of component thermal throttling controlcircuitry activation, e.g., in the case of slight component temperatureovershoot above the component thermal throttling temperature thresholdvalue.

It will also be understood that one or more of the tasks, functions, ormethodologies described herein (e.g., including those described hereinfor components 506, 508, 509, 530, 517, 580, 518, 521, etc.) may beimplemented by circuitry and/or by a computer program of instructions(e.g., computer readable code such as firmware code or software code)embodied in a non-transitory tangible computer readable medium (e.g.,optical disk, magnetic disk, non-volatile memory device, etc.), in whichthe computer program comprising instructions are configured whenexecuted (e.g., executed on a processing device of an informationhandling system such as CPU, controller, microcontroller, processor,microprocessor, FPGA, ASIC, or other suitable processing device) toperform one or more steps of the methodologies disclosed herein. Acomputer program of instructions may be stored in or on thenon-transitory computer-readable medium accessible by an informationhandling system for instructing the information handling system toexecute the computer program of instructions. The computer program ofinstructions may include an ordered listing of executable instructionsfor implementing logical functions in the information handling system.The executable instructions may comprise a plurality of code segmentsoperable to instruct the information handling system to perform themethodology disclosed herein. It will also be understood that one ormore steps of the present methodologies may be employed in one or morecode segments of the computer program. For example, a code segmentexecuted by the information handling system may include one or moresteps of the disclosed methodologies.

For purposes of this disclosure, an information handling system mayinclude any instrumentality or aggregate of instrumentalities operableto compute, classify, process, transmit, receive, retrieve, originate,switch, store, display, manifest, detect, record, reproduce, handle, orutilize any form of information, intelligence, or data for business,scientific, control, entertainment, or other purposes. For example, aninformation handling system may be a personal computer, a PDA, aconsumer electronic device, a network storage device, or any othersuitable device and may vary in size, shape, performance, functionality,and price. The information handling system may include memory, one ormore processing resources such as a central processing unit (CPU) orhardware or software control logic. Additional components of theinformation handling system may include one or more storage devices, oneor more communications ports for communicating with external devices aswell as various input and output (I/O) devices, such as a keyboard, amouse, and a video display. The information handling system may alsoinclude one or more buses operable to transmit communications betweenthe various hardware components.

While the invention may be adaptable to various modifications andalternative forms, specific embodiments have been shown by way ofexample and described herein. However, it should be understood that theinvention is not intended to be limited to the particular formsdisclosed. Rather, the invention is to cover all modifications,equivalents, and alternatives falling within the spirit and scope of theinvention as defined by the appended claims. Moreover, the differentaspects of the disclosed systems and methods may be utilized in variouscombinations and/or independently. Thus the invention is not limited toonly those combinations shown herein, but rather may include othercombinations.

What is claimed is:
 1. An information handling system, comprising: achassis enclosure; at least one heat-generating component to be cooledthat is contained within the chassis enclosure that consumes electricalpower for operation, the heat-generating component including its owninternal memory register storing at least one component thermal controlparameter that includes a component fan control target setpointtemperature value for the heat-generating component; at least onetemperature sensor configured to sense and report an operatingtemperature of the heat generating component; one or more variable speedcooling fans configured to provide different flow rates of cooling airwithin the chassis enclosure to cool the heat generating component;system persistent storage separate from the heat-generating component tobe cooled and that is separate from the internal memory register of theheat-generating component, the persistent storage including systemthermal control parameter information stored thereon, the system thermalcontrol parameter information defining a relationship between differentvalues of closed loop controller gains stored on the system persistentstorage as a function of different component fan control target setpointtemperature values retrieved from the internal memory register of theheat generating component; and at least one processing device separatefrom the heat generating component, and that is coupled to receivevalues of real time sensed component temperature from the temperaturesensor, and to implement a closed loop process controller to providecontrol signals to control a fan speed of each of the cooling fans tocool the heat-generating component based on the received values of realtime sensed component temperature; where the processing device iscoupled to retrieve the component fan control target setpointtemperature value stored in the internal memory register of theheat-generating component, and is further coupled to access the systemthermal control parameter information stored on the system persistentstorage; where the processing device is configured to determine a valueof at least one closed loop controller gain for the closed loop processcontroller based on the component fan control target setpointtemperature value that is retrieved from the internal memory register ofthe heat-generating component and the relationship between differentvalues of closed loop controller gains as a function of differentcomponent fan control target setpoint temperature values that isretrieved from the system persistent storage that is separate from theinternal memory register of the heat-generating component; where theprocessing device is configured to use the at least one determinedclosed loop controller gain in the closed loop process controller tofurther provide the control signals based on the component fan controltarget setpoint temperature value that is retrieved from the internalmemory register of the heat-generating component and a selected fancontrol target setpoint temperature value to control a fan speed of eachof the cooling fans to cool the heat-generating component; and where theat least one closed loop controller gain comprises at least one ofproportional gain (K_(p)), integral gain (K_(i)), derivative gain (Kd),or any combination thereof; and where the relationship between differentvalues of closed loop controller gains and different component fancontrol target setpoint temperature values that is stored on the systempersistent storage is a lookup table storing multiple scalablecontroller gain values for at least one of the proportional gain(K_(p)), the integral gain (K_(i)), or the derivative gain (Kd) as afunction of specified component fan control target temperature setpointvalue retrieved from the internal memory register of the heat generatingcomponent.
 2. The system of claim 1, where the selected fan controltarget setpoint temperature value is a system fan control targetsetpoint temperature value; and where the processing device is furtherconfigured to determine a value of the system fan control targetsetpoint temperature by subtracting an offset value from the componentfan control target setpoint temperature value, and to use the at leastone determined closed loop controller gain in the closed loop processcontroller to further provide the control signals based on the retrievedcomponent fan control target setpoint temperature value and thedetermined system fan control target setpoint temperature value tocontrol the fan speed of each of the cooling fans to cool theheat-generating component.
 3. The system of claim 1, where the at leastone heat-generating component is a central processing unit (CPU); andwhere the at least one processing device that is separate from theheat-generating component is an out-of-band processing device.
 4. Anadaptive method for controlling cooling fan response in an informationhandling system, comprising: operating at least one heat-generatingcomponent that consumes electrical power within an information handlingsystem chassis enclosure, the heat-generating component including itsown internal memory register storing at least one component thermalcontrol parameter that includes a component fan control target setpointtemperature value for the heat-generating component; using one or morevariable speed cooling fans to provide different flow rates of coolingair within the chassis enclosure to cool the heat generating component;using at least one temperature sensor to sense an operating temperatureof the heat generating component in real time; using at least oneprocessing device separate from the heat generating component to:retrieve the component fan control target setpoint temperature valueprofile stored in the internal memory register of the heat-generatingcomponent, and receive values of real time sensed component temperaturefrom the temperature sensor; and using at least one processing deviceseparate from the heat generating component to: determine a value of atleast one closed loop controller gain for a closed loop process controlbased on the component fan control target setpoint temperature valuethat is retrieved from the internal memory register of theheat-generating component and a relationship between different values ofclosed loop controller gains as a function of different component fancontrol target setpoint temperature values that is stored separatelyfrom the internal memory register of the heat-generating component,receive values of real time sensed component temperature from thetemperature sensor, implement a closed loop process controller toprovide control signals to control a fan speed of each of the coolingfans to cool the heat-generating component based on the received valuesof real time sensed component temperature, and use the at least onedetermined closed loop controller gain in the closed loop processcontroller to further provide the control signals based on the componentfan control target setpoint temperature value that is retrieved from theinternal memory register of the heat-generating component and a selectedfan control target setpoint temperature value to control a fan speed ofeach of the cooling fans to cool the heat-generating component; wherethe at least one closed loop controller gain comprises at least one ofproportional gain (K_(p)), integral gain (K_(i)), derivative gain (Kd),or any combination thereof; where the separately-stored relationshipbetween different values of closed loop controller gains and differentcomponent fan control target setpoint temperature values is a lookuptable storing multiple scalable controller gain values for at least oneof the proportional gain (K_(p)), the integral gain (K_(i)), or thederivative gain (Kd) as a function of specified component fan controltarget temperature setpoint value retrieved from the internal memoryregister of the heat generating component; and where the step ofdetermining further comprises: accessing the lookup table that is storedseparately from the internal memory register of the heat-generatingcomponent to determine the value of the at least one closed loopcontroller gain specified by the lookup table as corresponding to thecomponent fan control target setpoint temperature value that isretrieved from the internal memory register of the heat-generatingcomponent.
 5. The method of claim 4, where the selected fan controltarget setpoint temperature value is a system fan control targetsetpoint temperature value; and where the method further comprises usingthe processing device to determine a value of a system fan controltarget setpoint temperature by subtracting an offset value from thecomponent fan control target setpoint temperature value, and to use theat least one determined closed loop controller gain in the closed loopprocess control algorithm to provide control signals based on thedetermined system fan control target setpoint temperature value tocontrol the fan speed of each of the cooling fans to cool theheat-generating component.
 6. The method of claim 4, where the at leastone heat-generating component is a central processing unit (CPU); andwhere the at least one processing device that is separate from theheat-generating component is an out-of-band processing device.
 7. Aninformation handling system, comprising: a chassis enclosure; at leastone heat-generating component to be cooled that is contained within thechassis enclosure that consumes electrical power for operation, theheat-generating component including its own internal memory registerstoring at least one component thermal control parameter that includes acomponent thermal throttling temperature threshold value for theheat-generating component; at least one temperature sensor configured tosense and report an operating temperature of the heat generatingcomponent; one or more variable speed cooling fans configured to providedifferent flow rates of cooling air within the chassis enclosure to coolthe heat generating component; system persistent storage separate fromthe heat-generating component to be cooled and that is separate from theinternal memory register of the heat-generating component, thepersistent storage including system thermal control parameterinformation stored thereon, the system thermal control parameterinformation defining a relationship between values of the componentthermal throttling temperature threshold retrieved from the internalmemory register of the heat generating component and values of one ormore system thermal control parameters stored on the system persistentstorage; and at least one processing device separate from the heatgenerating component, and that is coupled to receive values of real timesensed component temperature from the temperature sensor, and to providecontrol signals to control a fan speed of each of the cooling fans tocool the heat-generating component and/or to control power consumptionof the heat-generating component; where the processing device is coupledto retrieve the component thermal throttling temperature threshold valuestored in the internal memory register of the heat-generating component,and is further coupled to retrieve the system thermal control parameterinformation stored on the system persistent storage; where theprocessing device is configured to determine a value of at least onesystem thermal control parameter based on the component thermalthrottling temperature threshold value that is retrieved from theinternal memory register of the heat-generating component and therelationship between values of component thermal throttling temperaturethreshold and values of one or more system thermal control parametersthat is retrieved from the system persistent storage that is separatefrom the internal memory register of the heat-generating component; andwhere the processing device is configured to control cooling fan speedof one or more of the cooling devices and/or control power consumptionof the heat-generating component based on a combination of thedetermined system thermal control parameter value and the value of thereal time current sensed component temperature; where the at least oneheat-generating component comprises multiple different heat-generatingcomponents, each given one of the different heat-generating componentsincluding its own internal memory register storing at least onecomponent thermal control parameter that includes a component thermalthrottling temperature threshold value for the given heat-generatingcomponent; where the processing device is coupled to retrieve thecomponent thermal throttling temperature threshold value stored in theinternal memory register of each of the different heat-generatingcomponents; and where the processing device is configured to: determinea value of at least one system thermal control parameter based on thecomponent thermal throttling temperature threshold value that isretrieved from the internal memory register of each of the multipledifferent heat-generating components and the relationship between valuesof component thermal throttling temperature threshold and values of oneor more system thermal control parameters that is retrieved from thesystem persistent storage that is separate from the internal memoryregister of each of the different heat-generating components; andcontrol cooling fan speed of one or more of the cooling devices and/orcontrol power consumption of one or more of the differentheat-generating components based on a combination of the determinedsystem thermal control parameter value and the value of the real timecurrent sensed component temperature for each of the differentheat-generating components.
 8. The system of claim 7, where theretrieved relationship between values of component thermal throttlingtemperature threshold and values of one or more system thermal controlparameters comprises an offset value between the retrieved componentthermal throttling temperature threshold value that is retrieved fromthe internal memory register of each of the multiple differentheat-generating components and a lower system power capping thresholdvalue; and where the processing device is configured to determine thevalue of the system power capping threshold by subtracting the offsetvalue from the retrieved component thermal throttling temperaturethreshold value that is retrieved from the internal memory register ofeach of the multiple different heat-generating components, and tocontrol power consumption of the heat-generating components based on thedetermined system power capping threshold value and the real timecurrent sensed component temperature for each of the differentheat-generating components.
 9. The system of claim 7, where theretrieved relationship between values of component thermal throttlingtemperature threshold and values of one or more system thermal controlparameters comprises an offset value between the retrieved componentthermal throttling temperature threshold value that is retrieved fromthe internal memory register of each of the multiple differentheat-generating components and a lower value of system fan controltarget setpoint temperature; and where the processing device isconfigured to determine the value of the system fan control targetsetpoint temperature by subtracting the offset value from the retrievedcomponent thermal throttling temperature threshold value that isretrieved from the internal memory register of each of the multipledifferent heat-generating components, and to control cooling fan speedof one or more of the cooling devices based on the determined system fancontrol target setpoint temperature and the real time current sensedcomponent temperature for each of the different heat-generatingcomponents.
 10. The system of claim 7, where the multiple differentheat-generating components comprise at least one heat-generatingcomponent that is a central processing unit (CPU); where the componentthermal throttling temperature threshold value for the CPU is atemperature at and above which the CPU attempts to reduce the CPU dieoperating temperature using clock modulation and/or by throttling downthe CPU clock speed and operating input voltage until the sensed CPU dieoperating temperature drops below the component thermal throttlingtemperature threshold value; and where the at least one processingdevice that is separate from the heat-generating component is anout-of-band processing device.
 11. The system of claim 7, where thecomponent thermal throttling temperature threshold value is a hard-codedregister value set by the manufacturer of the at least oneheat-generating component.
 12. An adaptive method for controllingcooling fan response in an information handling system, comprising:operating at least one heat-generating component that consumeselectrical power within an information handling system chassisenclosure, the heat-generating component including its own internalmemory register storing at least one component thermal control parameterthat includes a component thermal throttling temperature threshold valuefor the heat-generating component; using one or more variable speedcooling fans to provide different flow rates of cooling air within thechassis enclosure to cool the heat generating component; using at leastone temperature sensor to sense an operating temperature of the heatgenerating component in real time; and using at least one processingdevice separate from the heat generating component to: retrieve thecomponent thermal throttling temperature threshold value stored in theinternal memory register of the heat-generating component, receivevalues of real time sensed component operating temperature from thetemperature sensor, determine a value of at least one system thermalcontrol parameter based on the component thermal throttling temperaturethreshold that is retrieved from the internal memory register of theheat-generating component and a separate defined relationship betweenvalues of component thermal throttling temperature threshold and valuesof system thermal control parameter that is stored separately from theinternal memory register of the heat-generating component, and controlcooling fan speed of one or more of the cooling devices and/or controlpower consumption of the heat-generating component based on acombination of the determined system thermal control parameter value andthe value of the real time current sensed component temperature; wherethe at least one heat-generating component comprises multiple differentheat-generating components, each given one of the multiple differentheat-generating components including its own internal memory registerstoring at least one component thermal control parameter that includes acomponent thermal throttling temperature threshold value for the givenheat-generating component; and where the method further comprises usingat least one processing device separate from the heat generatingcomponent to: retrieve the component thermal throttling temperaturethreshold value stored in the internal memory register of each of themultiple different heat-generating components, determine a value of atleast one system thermal control parameter based on the componentthermal throttling temperature threshold that is retrieved from theinternal memory register of each of the multiple differentheat-generating components and the separate defined relationship betweenvalues of component thermal throttling temperature threshold and valuesof system thermal control parameter that is stored separately from theinternal memory register of the heat-generating component, and controlcooling fan speed of one or more of the cooling devices and/or controlpower consumption of one or more of the different heat-generatingcomponents based on a combination of the determined system thermalcontrol parameter value and the value of the real time current sensedcomponent temperature for each of the different heat-generatingcomponents.
 13. The method of claim 12, where the defined relationshipbetween values of component thermal throttling temperature threshold andvalues of one or more system thermal control parameters comprises anoffset value between the retrieved component thermal throttlingtemperature threshold value that is retrieved from the internal memoryregister of each of the multiple different heat-generating componentsand a lower system power capping threshold value; and where the methodfurther comprises using the processing device to determine the value ofthe system power capping threshold by subtracting the offset value fromthe retrieved component thermal throttling temperature threshold valuethat is retrieved from the internal memory register of each of themultiple different heat-generating components, and to control powerconsumption of the heat-generating components based on the determinedsystem power capping threshold value and the real time current sensedcomponent temperature for each of the different heat-generatingcomponents.
 14. The method of claim 12, where the defined relationshipbetween values of component thermal throttling temperature threshold andvalues of one or more system thermal control parameters comprises anoffset value between the retrieved component thermal throttlingtemperature threshold value that is retrieved from the internal memoryregister of each of the multiple different heat-generating componentsand a lower value of system fan control target setpoint temperature; andwhere the method further comprises using the processing device todetermine the value of the system fan control target setpointtemperature by subtracting the offset value from the retrieved componentthermal throttling temperature threshold value that is retrieved fromthe internal memory register of each of the multiple differentheat-generating components, and to control cooling fan speed of one ormore of the cooling devices based on the determined system fan controltarget setpoint temperature and the real time current sensed componenttemperature for each of the different heat-generating components. 15.The method of claim 12, where the multiple different heat-generatingcomponents comprise at least one heat-generating component that is acentral processing unit (CPU); where the component thermal throttlingtemperature threshold value for the CPU is a temperature at and abovewhich the CPU attempts to reduce the CPU die operating temperature usingclock modulation and/or by throttling down the CPU clock speed andoperating input voltage until the sensed CPU die operating temperaturedrops below the component thermal throttling temperature thresholdvalue; and where the at least one processing device that is separatefrom the heat-generating component is an out-of-band processing device.16. The method of claim 12, further comprising using the manufacturer ofthe at least one heat-generating component to set the thermal throttlingtemperature threshold value as a hard-coded register value prior to thestep of operating the at least one heat-generating component.